# @Time    :2025/4/7 11:48

"""
# 用进程池 打印10个数字,每次间隔0.5秒

	processes：要使用的工作进程数量
"""
import multiprocessing
import os
import time


def func():
    for i in range(10):#for循环是控制循环次数
        print(os.getppid(), i)
        time.sleep(0.5)#不休息的话 有可能一个进程把活都干完了（因为程序执行的快）


if __name__ == "__main__":
    # 指定线程池大小
    process_num = 5
    pool = multiprocessing.Pool(process_num)
    for p in range(process_num):
        # 阻塞式 同步
        #  pool.apply(func)
        # 非阻塞式  异步
        pool.apply_async(func)#func 是程序执行的任务
    pool.close()
    #阻塞主进程（当前进程执行完毕之后，主进程再继续执行）
    pool.join()  #阻塞主进程，等待工作进程结束
    print("end")
